1
16진수 표기법과 가상 주소 공간
AI031Lesson 2
00:00

다음으로 들어가세요: 기계 수준의 프로그램 보기, 여기서 하드웨어의 복잡성은 구조화된 가상 주소 공간. 이 관점에서 메모리는 변수의 집합이 아니라, 8비트 블록이라고 부르는 거대하고 연속적인 배열입니다. 바이트. $w$비트 워드 크기를 갖는 기계에서는 이러한 주소가 $0$부터 $2^w - 1$까지 범위를 가지며, 프로그램의 접근 가능 범위를 정의합니다.

1. 16의 힘

이진수는 회로의 언어이지만, 16진수 표기법 프로그래머의 언어입니다. 왜냐하면 $16 = 2^4$이므로, 하나의 16진수 자릿수(0–F)는 정확히 4비트 네이블에 매핑되기 때문입니다. 이를 통해 1바이트 값은 정확히 두 자릿수로 간결하게 표현할 수 있습니다 (예: 0xFF). 이 약식은 기계어어셈블리 코드읽기에 필수적입니다. 예를 들어 명령어 4004dc: 48 03 47 28.

그림 2.2: 16진수-이진수-십진수 변환표16진수십진수이진수01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 규칙: 십진수 x 를 16진수로 변환하려면, 반복적으로 다음을 계산하세요: x = q ⋅ 16 + r

2. 정밀도와 산술 연산

정수형 데이터 타입을 조작하면서 우리는 정수형 데이터 타입을 마주하게 되고, 부울 링2의 보수 논리를 만나게 됩니다. 우리는 리틀 엔디안 저장 방식, 정수 오버플로우그리고 단일 정밀도 부동 소수점에서 무한대 ($+\infty$)NaN 이 존재합니다. 이러한 비트 패턴을 이해하는 것은 임의 크기의 산술 연산 과 견고한 시스템 프로그래밍을 익히는 첫걸음입니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>